/*
 * Copyright 2012 Clement Sannicolo <clement.sannicolo@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
Ext.Loader.setConfig({
	enabled: true,
	paths: {
		'Ext.ux': rootDir + '/app/ux',
		'App': rootDir + '/app',
		'Nutrient': rootDir + '/app/bundles/nutrient'
	}
});

var App;
Ext.override(Ext, {
	application: function(config) {
		Ext.require('Ext.ux.app.Application');
		Ext.onReady(function() {
			App = new Ext.ux.app.Application(config);
		});
	}
});

Ext.application(
{
	requires: [
	    'Ext.container.Viewport',
	    'Ext.window.MessageBox',
	    'App.Overrides',
	    'App.Viewport',
	    'App.VTypes',
	],
	
	bundles: [
	    'Nutrient.Bundle'
	],

	launch: function() {
		Ext.create('Ext.container.Viewport', {
			layout: 'fit',
			items: {
				xtype: 'viewport'
			}
		});

		App.dispatch({
			controller: 'Nutrient.controller.Food',
			action: 'search',
			query: 'pain'
		});
    }
});